"#ifdef GL_ES\n\
precision mediump float;\n\
#endif\n\
uniform float u_resolution;\n\
uniform float u_radius;\n\
\n\
varying vec4 v_fragmentColor;\n\
varying vec2 v_texCoord;\n\
\n\
const float f1 = 0.147308056121;\n\
const float f2 = 0.115876621105;\n\
const float f3 = 0.0776744219933;\n\
const float f4 = 0.0443683338718;\n\
const float f5 = 0.0215963866053;\n\
const float f6 = 0.00895781211794;\n\
const float f7 = 0.0044299121055113265;\n\
const float fc = 0.159576912161;\n\
\n\
void main() {\n\
	vec4 sum = vec4(0.0);\n\
	vec2 tc = v_texCoord;\n\
	float blur = u_radius/u_resolution; \n\
	\n\
    sum += texture2D(CC_Texture0, vec2(tc.x, tc.y - 7.0*blur)) * f7;\n\
    sum += texture2D(CC_Texture0, vec2(tc.x, tc.y - 6.0*blur)) * f6;\n\
    sum += texture2D(CC_Texture0, vec2(tc.x, tc.y - 5.0*blur)) * f5;\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y - 4.0*blur)) * f4;\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y - 3.0*blur)) * f3;\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y - 2.0*blur)) * f2;\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y - 1.0*blur)) * f1;\n\
	\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y)) * fc;\n\
	\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y + 1.0*blur)) * f1;\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y + 2.0*blur)) * f2;\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y + 3.0*blur)) * f3;\n\
	sum += texture2D(CC_Texture0, vec2(tc.x, tc.y + 4.0*blur)) * f4;\n\
    sum += texture2D(CC_Texture0, vec2(tc.x, tc.y + 5.0*blur)) * f5;\n\
    sum += texture2D(CC_Texture0, vec2(tc.x, tc.y + 6.0*blur)) * f6;\n\
    sum += texture2D(CC_Texture0, vec2(tc.x, tc.y + 7.0*blur)) * f7;\n\
\n\
	gl_FragColor = v_fragmentColor * vec4(sum.rgb,1.0);\n\
}";
